package com.gict.antifraudback.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 
 * @TableName article
 */
@TableName(value ="article")
@Data
public class Article extends BaseEntity implements Serializable {

    /**
     * 作者
     */
    private Integer userId;

    @TableField(exist = false)
    private String userName;

    /**
     * 菜单id
     */
    @NotNull(message="[]不能为空")
    private Integer menuId;

    /**
     * 视频地址
     */
    private String videoPath;

    @TableField(exist = false)
    private String menuName;

    /**
     * 文章缩略图
     */
    @NotBlank(message="[]不能为空")
    private String articleCover;

    /**
     * 标题
     */
    @NotBlank(message="[]不能为空")
    private String articleTitle;

    /**
     * 内容
     */
    private String articleContent;

    /**
     * 内容类型 0-文章, 1-视频, 2-题目
     */
    @NotNull(message="[]不能为空")
    private Integer contentType;

    /**
     * 阅读量
     */
    private Integer readingQuantity;

    /**
     * 描述
     */
    private String description;

    /**
     * 文章类型 0原创 1转载
     */
    @NotNull(message="[]不能为空")
    private Integer type;

    /**
     * 标签id集合
     */
    @TableField(exist = false)
    private List<Integer> tags;

    /**
     * 标签集合
     */
    @TableField(exist = false)
    private List<String> tagsName;

    /**
     * 编译类型 0-mk 1-html
     */
    @NotNull(message="[]不能为空")
    private Integer textType;

    /**
     * 原文链接
     */
    private String originalUrl;

    /**
     * 是否置顶 0否 1是
     */
    @NotNull(message="[]不能为空")
    private Integer isTop;

    /**
     * 是否可评论 0是 1否
     */
    @NotNull(message="[]不能为空")
    private Integer isComment;

    /**
     * 状态值 1公开 2私密 3 回收站
     */
    @NotNull(message="[]不能为空")
    private Integer status;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 题目集合
     */
    @TableField(exist = false)
    private List<Question> questions;

    /**
     * 点赞数
     */
    @TableField(exist = false)
    private Integer likeCount;

    /**
     * 评论数
     */
    @TableField(exist = false)
    private Integer commentCount;

}